ICTSC2018 本戦 問題解説: 繋げて
問題文
192.168.19.10のインターフェースから192.168.19.125にICMPパケットが通らないので通してください。
192.168.19.66のインターフェースから192.168.19.140にICMPパケットが通らないので通してください。
※192.168.19.125と192.168.19.140からもICMPパケットを常に送っております。
情報
IPアドレス: 192.168.19.100
ユーザー: admin
パスワード: ospf
問題のゴール状態
192.168.19.10のインターフェースから192.168.19.125にICMPパケットが通る。
192.168.19.66のインターフェースから192.168.19.140にICMPパケットが通る。
解説
トポロジーはこのようになっていました。
トポロジーを見て貰えれば分かりますが、ゲートウェイがサブネット外にあります。
よってeth1、eth2ともにサブネットを/27にして、eth1ではパケットにvlanタグがついているのでeth1をvlan56のインターフェースにすることで解決する問題でした。
解き方
192.168.19.125への通し方
eth1のインターフェースでsudo tcpdump -ei eth1
を行うと、802.1qタグでVLAN 56がついたARP Requestを見ることができます。
そこで/etc/network/interfaces
に書いてあるeth1のインターフェースをeth1.56のインターフェースにすることで、リクエストされている192.168.19.10のARPに応えることが可能となります。
しかし、ARPが来ていた192.168.19.30がサブネット外であるため、192.168.19.125から来たICMPパケットをデフォルトゲートウェイであるeth0に流してしまうので、
eth1のサブネットを/28から/27に直し、/etc/network/interfaces
に書いてあるStatic routeを反映します。
これで192.168.19.125に対してICMPパケットが通ります。
192.168.19.140への通し方
eth2においてsudo tcpdump -i eth2
を行うとICMP リクエストパケットが来ているがリプライを返していないことがわかります。
sudo tcpdump -i eth0
を行うと192.168.19.100であるeth0のインターフェースよりICMPのリプライを返しています。
そこで/etc/network/interfaces
に書いてあるStatic routeが反映されているかip route
を確認すると反映されていないことが分かります。
/etc/network/interfaces
に書いてあるStatic routeをコマンドで入力するとNetwork Unreachable
と出てきます。
ゲートウェイがルーティングテーブル内にないことが分かり、Static routeのゲートウェイのIPアドレスを確認すると、eth2のサブネット外になっていることがわかります。
eth2のL2内にあるゲートウェイのIPアドレスを調べるために送られてきているICMPパケットのMACアドレスを確認し、ARPテーブルを確認するとStatic routeに書いてあるゲートウェイのIPアドレスがあるので、そのアドレスがサブネット内に来るように計算し、設定を行うとICMPが通るようになります。
ちなみにこの問題はパスワードがospfとなっていたが全く関係なく、L2の調査が出来るかどうかを問う問題でした。